﻿//624. 数组列表中的最大距离
//给定 m 个数组，每个数组都已经按照升序排好序了。
//现在你需要从两个不同的数组中选择两个整数（每个数组选一个）并且计算它们的距离。两个整数 a 和 b 之间的距离定义为它们差的绝对值 | a - b | 。
//返回最大距离。


class Solution {
public:
    int maxDistance(vector<vector<int>>& arrays)
    {
        int n = arrays.size();
        int ans = 0;
        int minleft = INT_MAX / 2, maxright = INT_MIN / 2;
        for (auto& a : arrays)
        {
            int x = a.back() - minleft;
            int y = maxright - a[0];
            ans = max({ ans,x,y });
            minleft = min(a[0], minleft);
            maxright = max(a.back(), maxright);
        }
        return ans;
    }
};
